home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright © 1991-1995 by TopSoft Inc. All rights reserved.
-
- You may distribute this file under the terms of the TopSoft
- Artistic License, accompanying this package.
-
- This file was developed by George (ty) Tempel in connection with TopSoft, Inc..
- See the Modification History for more details.
-
- Product
- About Box
-
- FILE
- ABSound.h
-
- NAME
- ABSound.h, part of the ABox project source code,
- responsible for handling the AboutBox Sound class stuff.
-
- DESCRIPTION
- This file contains defines for the about box modules.
-
- DEVELOPED BY
- George (ty) Tempel netromancr@aol.com
- All code in this file, and its associated header file was
- Created by George (ty) Tempel in connection with the TopSoft, Inc.
- "FilterTop" application development, except where noted.
-
- CARETAKER - George (ty) Tempel <netromancr@aol.com>
- Please consult this person for any changes or suggestions to this file.
-
- MODIFICATION HISTORY
-
- dd mmm yy - xxx - patchxx: description of patch
- 9 June 94 - ty - Initial Version Created
- 20-july-94 - ty - initial version released
- 23-may-95 - ty - changes for compatibility with the CodeWarrior CW6
- release and the associated Universal Headers from Apple:
- most methods that returned references now have "Ref" at
- the end of their methods names to prevent possible collisions
- with datatypes and classes of the same name (older versions
- of the compiler didn't have a problem with this).
-
- */
-
- /*===========================================================================*/
-
- /*========== Exclusion Macros ============*/
-
- #pragma once
-
- #ifndef _ABSound_
- #define _ABSound_
-
-
- /*============ Header Files ==============*/
-
- #include "ABResource.h"
-
-
- /*=========== External Linkage ===========*/
-
- /*================ Macros ================*/
-
- /*============== Constants ===============*/
-
- #define kABSoundResource ((ResType)'snd ')
-
- #define kABnoSoundParam1 ((short)0)
- #define kABnoSoundParam2 ((long)0)
- #define kABsoundDelayHalfMilliseconds ((short)20)
-
- #define kABSoundSignature 'ABox'
-
- /*================ Enums =================*/
-
- /*=============== Structs ================*/
-
- /*=============== Typedefs ===============*/
-
- /*=========== Class Definitions ==========*/
-
- #define kABSoundSuperProperties ABResource
- class ABSound : public ABResource
- {
- public:
- ABSound(void);
- virtual ~ABSound(void);
-
- virtual OSErr Draw(WindowPtr window);
- virtual OSErr Update(WindowPtr window);
-
- virtual OSErr Stop(void);
-
- Boolean IsSoundChannelDone(void) const { return this->SoundChannelDone() == true; }
- Boolean IsSoundChannelBusy(void) const { return ! this->IsSoundChannelDone(); }
-
- Boolean HasSoundChannelPointer(void) const { return this->SoundChannelPointer() != NULL; }
- Boolean DoesntHaveSoundChannelPointer(void) const { return !this->HasSoundChannelPointer(); }
-
- Boolean HasSoundCallback(void) const { return this->SoundCallback() != NULL; }
- Boolean DoesntHaveSoundCallback(void) const { return ! this->HasSoundCallback(); }
-
- protected:
-
- static pascal void DoSnd_done (SndChannelPtr channel, SndCommand *command);
-
- private:
- Boolean mSoundChannelDone; // used to indicate the channel should close down
- SndChannelPtr mSoundChannelPtr; // the sound channel per-se
- SndCallBackUPP mSoundCallbackUPP; // used for callbacks
-
- Boolean& SoundChannelDone(void) const { return this->mSoundChannelDone; }
- SndChannelPtr& SoundChannelPointer(void) const { return this->mSoundChannelPtr; }
- SndCallBackUPP& SoundCallback(void) const { return this->mSoundCallbackUPP; }
-
- static short sCounter;
- short mSoundSignature;
- };
-
-
-
-
- /*========== Function Prototypes =========*/
-
-
- #endif // _ABSound_
-
-